//
//  Landmark.swift
//  swiftUilearn
//
//  Created by fengliulin on 2024/3/27.
//

import Foundation
import SwiftUI
import CoreLocation

struct Landmark : Decodable, Equatable, Identifiable{
    var id: Int
   var name: String
   var park: String
   var state: String
    var description: String
    var isFavorite: Bool
    var isFeatured: Bool
    
    var category: Category
    
    
        enum Category: String, CaseIterable, Codable {
            case lakes = "Lakes"
            case rivers = "Rivers"
            case mountains = "Mountains"
        }
    
    var featureImage: Image? {
            isFeatured ? Image(imageName + "_feature") : nil
        }
    
    
    
    private var imageName: String
    
    var image: Image {
            Image(imageName)
    }
  
    private var coordinates: Coordinates
    
    var locationCoordinate: CLLocationCoordinate2D {
            CLLocationCoordinate2D(
                latitude: coordinates.latitude,
                longitude: coordinates.longitude)
        }
    
    struct Coordinates: Hashable, Codable {
        var latitude: Double
        var longitude: Double
    }
}
